Hello呀,這是一個培養寫程式習慣的練習。
先前有試著每天學習一次線上課程,但學到後面就忘記前面,
自省缺少學習記錄,也沒有養成每天寫程式的習慣。
所以這次換個方式:每日固定的課程加學習記錄整理及分享。
看看是否比較能培養出寫程式的習慣
目前鎖定的練習標的物是 100天從新手到大師
歡迎各位前輩指導!!在此先謝謝了!
1. 心得
1.range的應用在python裡面真的很實用。
range(起頭,結尾(不含),間隔)
2.基本題型的九九乘法表跟聖誕樹出現了。
自己寫過一次後,終於少了腦海裡一個疑惑點。
3.隨著瞌睡蟲的出現,會不自覺的看教學直接寫程式,
要再提醒自己多多試著寫寫看。
小語:要提醒自己還沒(yet)的力量。沒有什麼是不會的,只有還沒學會而已。
持之以恆就能學會。
2. 本日學習摘要
Day04 - 循環結構
循環結構的應用場景- 條件/ 縮進/ 代碼塊/ 流程圖
while循環- 基本結構/ break語句/
for循環- 基本結構/ range類型/ 循環中的分支結構
應用案例- 1~100求和/ 判斷質數/ 猜數字遊戲/ 九九乘法表/ 聖誕樹
3. 程式碼
#用for迴圈求1+2+3...+100
sum = 0
for count in range(101):
sum += count #sum = sum + count
print(sum)
#用for迴圈求1~100的偶數合
#method 1
sum = 0
for count in range(0,101,2):
sum += count #sum = sum + count
print(sum)
#method 2
sum = 0
for count in range(101):
if count % 2 == 0:
sum += count #sum = sum + count
print(sum)
#猜數字遊戲
import random
answer = random.randint(1,100)
counter = 0
while True:
counter +=1
number = int (input("請輸入數字:"))
if number < answer:
print ("再大一點")
elif number > answer:
print ("再小一點")
else:
print ("恭喜你答對啦")
break
print("你總共猜了%d 次" % counter)
if counter > 7 :
print("你可以再想更好的猜法")
#輸出九九乘法表
for i in range(1,10):
for j in range(1,10):
print('%d * %d = %d' %(i,j,i*j), end='\t')
print()
#練習:輸入一個正整數判斷是不是質數。
#提示:質數指的是只能被1和自身整除的大於1的整數。
from math import sqrt
num = int (input( "請輸入一個正整數:"))
end = int (sqrt(num))
is_prime = True
for x in range(2, end +1):
if num % x == 0 :
is_prime = False
break
if is_prime and num != 1:
print( "%d是質數" % num)
else:
print( "%d不是質數" %num)
#練習:輸入兩個正整數,計算它們的最大公約數和最小公倍數。
a = int(input('a='))
b = int(input('b='))
#IF a> b 交換 a和b的值
if a > b:
a , b = b , a
#從兩個數較小的數開始遞減循環
for factor in range(a, 0, -1):
if a % factor == 0 and b % factor == 0:
print("%d和%d的最大公約數是%d" %(a,b,factor))
print("%d和%d的最小公倍數是%d" %(a,b,a * b // factor))
break
#練習:輸出指定的三角形圖案。
"""
*
**
***
****
*****
*
**
***
****
*****
*
***
*****
*******
*********
"""
row = int ( input ( '請輸入行數: ' ))
for i in range ( row ):
for _ in range ( i + 1 ):
print ( '*' , end = '' )
print ()
row = int ( input ( '請輸入行數: ' ))
for i in range ( row ):
for j in range ( row ):
if j < row - i - 1 :
print ( ' ' , end = '' )
else :
print ( '*' , end = '' )
print ( )
row = int ( input ( '請輸入行數: ' ))
for i in range ( row ):
for _ in range ( row - i - 1 ):
print ( ' ' , end = '' )
for _ in range ( 2 * i + 1 ):
print ( '*' , end = '' )
print ()
參考資料:Day04